package datatypes;

import java.util.List;

/**
 * A Multiple Choice exercise is a special type of a exercise.
 * @author Rupert
 *
 */
public class MultipleChoiceExercise extends Exercise{
	
	private List<MultipleChoiceQuestion> questions;
	private double pointsPerRightSelection;
	private int evaluationType;

	public MultipleChoiceExercise(int index, String question, double maxPoints, String headline,
			List<MultipleChoiceQuestion> questions, double pointsPerRightSelection, int evaluationType) {
		super(index, question, maxPoints, headline);
		this.questions = questions;
		this.pointsPerRightSelection = pointsPerRightSelection;
		this.setEvaluationType(evaluationType);
	}

	public void addQuestions(MultipleChoiceQuestion question){
		questions.add(question);
	}
	
	public void removeQuestion(MultipleChoiceQuestion question){
		questions.remove(question);
	}
	
	
	/*
	 * GETTERS & SETTERS
	 */
	public List<MultipleChoiceQuestion> getQuestions() {
		return questions;
	}

	public void setQuestions(List<MultipleChoiceQuestion> questions) {
		this.questions = questions;
	}

	public double getPointsPerRightSelection() {
		return pointsPerRightSelection;
	}

	public void setPointsPerRightSelection(double pointsPerRightSelection) {
		this.pointsPerRightSelection = pointsPerRightSelection;
	}

	/**
	 * @return the evaluationType
	 */
	public int getEvaluationType() {
		return evaluationType;
	}

	/**
	 * @param evaluationType the evaluationType to set
	 */
	public void setEvaluationType(int evaluationType) {
		this.evaluationType = evaluationType;
	}

}
